<!--
 * @Author: wuwle
 * @Date: 2020-10-30 16:28:53
 * @LastEditors: wuwle
 * @LastEditTime: 2021-07-16 15:52:16
 * @FilePath: \demo\复习\css\案例\flex\子项flex-basis.html
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        width: 500px;
        height: 300px;
        background-color: #ccc;
        display: flex;
      }
      /* 子类的flex属性其实有三个，默认flex:flex: 0 1 auto   //  flex:none == flex-grow: 0;flex-shrink: 0;flex-basis: auto
    flex-grow 
flex-shrink -- 
flex-basis */
      /* flex-grow */

      /* flex-basis 默认auto，用于设置项目宽度，默认auto时，项目会保持默认宽度，或者以width为自身的宽度
  但如果设置了flex-basis，权重会比width属性高，因此会覆盖widtn属性。 */
      .d1 {
        background-color: red;
        /* width: 50px; */
        /* 覆盖width */
        flex-basis: 150px;
        /* 不予许缩放 */
        flex-shrink: 0;
        /* width: 100%; */
      }
      .d2 {
        /* 但其他元素设置了w100%,会影响到flex-basis的宽度  解决办法就是在我们设置flex-basis宽度时, 最好给他设置flex-shrink为0不缩放 */
        width: 100%;

        background-color: yellow;
      }
      .d3 {
        width: 100%;

        background-color: blue;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="d1">1</div>
      <div class="d2">2</div>
      <div class="d3">3</div>
    </div>
  </body>
</html>
<!-- flex-basis 规定的是子元素的基准值。所以是否溢出的计算与此属性息息相关。flex-basis 规定的范围取决于 box-sizing。这里主要讨论以下 flex-basis 的取值情况：

auto：首先检索该子元素的主尺寸，如果主尺寸不为 auto，则使用值采取主尺寸之值；如果也是 auto，则使用值为 content。

content：指根据该子元素的内容自动布局。有的用户代理没有实现取 content 值，等效的替代方案是 flex-basis 和主尺寸都取 auto。

百分比：根据其包含块（即伸缩父容器）的主尺寸计算。如果包含块的主尺寸未定义（即父容器的主尺寸取决于子元素），则计算结果和设为 auto 一样。 -->
